﻿namespace ProjectAutumn.Graphics
{
    class NullGraphics : GraphicsDevice
    {
        public NullGraphics(Game game)
            : base(game) { }
        public override void Clear(Color color) { }
        protected internal override Texture LoadTexture(string file)
        {
            return new NullTexture();
        }
        protected internal override void BeginDraw() { }
        public override void Begin2D() { }
        public override void End2D() { }
        public override void Draw(Texture texture, Vector2 position, Rectangle? source, Color tint, float rotation, Vector2 offset, float scale) { }
        protected internal override void EndDraw() { }
        public override int Width
        {
            get { return 0; }
        }
        public override int Height
        {
            get { return 0; }
        }
        public override Texture CreateTexture(int width, int height) { return new NullTexture(); }
        protected override void SetMouseVisibility(bool value) { }
        protected override void ApplyChanges(int width, int height, bool isFullscreen)
        {
            Game.WindowApplyChanges(width, height, isFullscreen);
        }
        public override GraphicCapabilities GraphicCapabilities
        {
            get {
                return new GraphicCapabilities();
            }
        }
    }
}
